class Solution {
public:
    int minAnagramLength(string s) {
        int k = 1, n = s.size();
        for (; k * 2 <= n; k++) {
            if (n % k)
                continue;
            // vector<int> cnt0(26);
            array<int,26> cnt0{};
            bool t = true;
            for (int i = 0; i < k; i++) {
                cnt0[s[i] - 'a']++;
            }
            for (int j = 1; j * k < n; j++) {
                // vector<int> cnt1(26);
                array<int,26> cnt1{};
                for (int i = k * j; i < k * (j + 1); i++) {
                    cnt1[s[i] - 'a']++;
                }

                if(cnt0 != cnt1){
                    t = false;
                    break;
                }
                // for (int i = 0; i < 26; i++) {
                //     if (cnt0[i] != cnt1[i]) {
                //         t = false;
                //         break;
                //     }
                // }
                // if (t == false)
                //     break;
            }
            if (t)
                return k;
        }
        return n;
    }
};